﻿Public Class LogSGS

    ''' <summary>
    ''' Función para almacenar el historial de errores generados por el Sistema y enviar un correo a soporte técnico en caso de encontrarse conexión a Internet.
    ''' </summary>
    ''' <param name="programadorParam">Corresponde al nombre del Programador, debe ser extraido de los recursos (My.Resources.StringGlobal.nombreProgramador)</param>
    ''' <param name="comentarioParam">Corresponde a un campo libre en el cual el programador puede colocar un comentario</param>
    ''' <param name="exParam">Corresponde a la excepcion capturada por el TRY</param>
    ''' <param name="moduloParam">Corresponde al modulo, deber ser extraido de los recursos (My.Resources.StringGlobal.nombreModulo)</param>
    ''' <param name="formularioParam">Corresponde al nombre del formulario, puede usar (Name)</param>
    ''' <param name="controlParam">Corresponde al control / objeto en el cual está la programación (sender.GetType.FullName.ToString)</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Shared Function RegistrarLogYEnviarCorreo(ByVal programadorParam As String, ByVal comentarioParam As String, ByRef exParam As System.Exception, ByVal moduloParam As String, ByVal formularioParam As String, ByVal controlParam As String)
        Dim idUser As Integer = My.Forms.MDI.Iduser.Caption
        Using adaptadorTlog As New dbFireAndIceDataSetTableAdapters.tlogTableAdapter()
            Dim IdLog As Integer = adaptadorTlog.ScalarQueryCountLogs + 1
            adaptadorTlog.InsertQueryLogs(IdLog, idUser, programadorParam, comentarioParam, exParam.ToString, moduloParam, Date.Today, TimeOfDay.TimeOfDay.ToString, My.Computer.Name, formularioParam, controlParam)
            ServicioCorreoSGS.ReportarErrorPorCorreo(IdLog.ToString, exParam, programadorParam, moduloParam, comentarioParam)
        End Using
        Return 0
    End Function
    ''' <summary>
    ''' Función para almacenar el historial de errores generados por el Sistema
    ''' </summary>
    ''' <param name="programadorParam">Corresponde al nombre del Programador, debe ser extraido de los recursos (My.Resources.StringGlobal.nombreProgramador)</param>
    ''' <param name="comentarioParam">Corresponde a un campo libre en el cual el programador puede colocar un comentario</param>
    ''' <param name="exParam">Corresponde a la excepcion capturada por el TRY</param>
    ''' <param name="moduloParam">Corresponde al modulo, deber ser extraido de los recursos (My.Resources.StringGlobal.nombreModulo)</param>
    ''' <param name="formularioParam">Corresponde al nombre del formulario, puede usar (Name)</param>
    ''' <param name="controlParam">Corresponde al control / objeto en el cual está la programación (sender.GetType.FullName.ToString)</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Shared Function RegistrarLogSinEnviarCorreo(ByVal programadorParam As String, ByVal comentarioParam As String, ByRef exParam As System.Exception, ByVal moduloParam As String, ByVal formularioParam As String, ByVal controlParam As String)
        Dim idUser As Integer = My.Forms.MDI.Iduser.Caption
        Using adaptadorTlog As New dbFireAndIceDataSetTableAdapters.tlogTableAdapter()
            Dim IdLog As Integer = adaptadorTlog.ScalarQueryCountLogs + 1
            adaptadorTlog.InsertQueryLogs(IdLog, idUser, programadorParam, comentarioParam, exParam.ToString, moduloParam, Date.Today, TimeOfDay.TimeOfDay.ToString, My.Computer.Name, formularioParam, controlParam)
        End Using
        Return 0
    End Function


End Class
